import authCheckApp from './authCheckApp'

/**
 * 发起网络请求
 * @since 1.0.0
 * @param {Object} obj - 网络请求相关的数据
 * @param {string} obj.method 请求类型
 * @param {Object} obj.requestData 数据
 * @param {string} obj.requestUrl 请求地址
 * @returns {Promise} 返回获取到网络信息
 * @example
 * 
 * requestMethod({
 *   method: 'get',
 *   requestData: {},
 *   requestUrl: '/login.do'
 * }).then(resposne => {
 *    console.log(resposne)
 * }).catch(err => {})
 *   
 */
function requestMethod(obj) {
    return new Promise((reslove, reject) => {
        authCheckApp()
            .then(success => {
            // 发起请求
                window.WebViewJavascriptBridge.callHandler('requestMethod', {
                    method: obj.method,
                    requestData: obj.requestData,
                    requestUrl: obj.requestUrl
                }, (response) => {
                    if (typeof response === 'string') {
                        response = JSON.parse(response)
                    }
                    reslove(response)
                })
            }).catch(err => {
                reject(err)
            })
    })
}

export default requestMethod